let mask = document.querySelector(".mask");
let fileDom = document.querySelector(".file");
let tis = document.querySelector(".tis");
let logoDom = document.querySelector(".logo");
let progress = document.querySelector(".tis-progress");
let cancel = document.querySelector(".cancel-btn");


let createUpload = (file, {
	url,
	key = 'file',
	header = {},
	data = {},
	addName,
	addSize
}) => {
	console.log(`
	上传地址:${url}\n
	上传附件:${file.name} 附件大小:${file.size}\n
	请求头:${JSON.stringify(header)}\n
	业务参数:${JSON.stringify(data)}
	`);
	console.log(1)
	console.log(file.name.substring(file.name.lastIndexOf(".") + 1), '等我打完我')
	console.log(2)
	if (JSON.stringify(data.exce) == 1) {
		if (file.name.substring(file.name.lastIndexOf(".") + 1) == 'xls' || file.name.substring(file.name
				.lastIndexOf(".") + 1) == 'xlsx' || file.name.substring(file.name.lastIndexOf(".") + 1) == 'doc' ||
			file.name.substring(file.name.lastIndexOf(".") + 1) == 'docx' || file.name.substring(file.name
				.lastIndexOf(".") + 1) == 'pdf' || file.name.substring(file.name.lastIndexOf(".") + 1) == 'PDF') {

		} else {
			plus.nativeUI.toast(`报价表只支持excel,word,pdf格式请重新上传`);
			return;
		}
	}
	console.log(JSON.stringify(data.exce), '的点点滴滴')
	JSON.stringify(data.excel)
	if (!url) {
		return;
	}
	tis.style.display = 'flex';

	let formData = new FormData();
	for (let keys in data) {
		formData.append(keys, data[keys]);
	}
	if (addName) {
		formData.append(addName, file.name);
		console.log('补充参数：', JSON.stringify({
			addName: file.name
		}));
	}
	if (addSize) {
		formData.append(addSize, file.size);
		console.log('补充参数：', JSON.stringify({
			addSize: file.size
		}));
	}
	formData.append(key, file);

	let xhr = new XMLHttpRequest();
	xhr.open("POST", url, true);

	for (let keys in header) {
		xhr.setRequestHeader(keys, header[keys]);
	}
	xhr.upload.addEventListener("progress", function(event) {
		if (event.lengthComputable) {
			let percent = Math.ceil(event.loaded * 100 / event.total) + "%";
			progress.innerText = `努力上传中..${percent}`;
		}
	}, false);

	xhr.ontimeout = function() {
		// xhr请求超时事件处理
		progress.innerText = '请求超时';
		setTimeout(() => {
			tis.style.display = 'none';
			plus.webview.currentWebview().close();
		}, 1000);
	};

	xhr.onreadystatechange = (ev) => {
		console.log(ev, 'awdawd成长型创新在辞职信辞职信');
		if (xhr.readyState == 4) {
			console.log('status：' + xhr.status);

			if (xhr.status == 200) {
				progress.innerText = '上传成功';
				console.log('服务端返回数据：' + xhr.responseText);
				location.href =
					`callback?fileName=${escape(file.name)}&size=${file.size}&str=${escape(xhr.responseText)}`;
			} else {
				console.log(progress, '啊大大我')
				progress.innerText = '上传失败了';
				if (xhr.status == 0) {
					console.log('请检查请求头Content-Type与服务端是否匹配，并确认服务端已正确开启跨域');
				}
			}

			setTimeout(() => {
				tis.style.display = 'none';
				plus.webview.currentWebview().close();
			}, 1000);

		}
	};
	xhr.send(formData);

	cancel.addEventListener("click", () => {
		xhr.abort();
		plus.webview.currentWebview().close();
	});
}


mask.addEventListener("click", () => {
	plus.webview.currentWebview().close();
});

document.addEventListener('UniAppJSBridgeReady', () => {
	let {
		url,
		key,
		header,
		formData,
		logo,
		maxSize,
		addName,
		addSize
	} = plus.webview.currentWebview();
	if (logo) {
		let img = document.createElement('img');
		img.src = logo;
		logoDom.appendChild(img);
	}

	fileDom.value = '';
	fileDom.addEventListener('change', (event) => {
		let file = fileDom.files[0];
		// 默认限制文件小于10M,可自行修改
		// if (file.size > (1024 * 1024 * Math.abs(maxSize))) {
		// 	plus.nativeUI.toast(`单个文件请勿超过${maxSize}M,请重新上传`);
		// 	return;
		// }
		createUpload(file, {
			url,
			key,
			header,
			addName,
			addSize,
			data: formData
		});
	}, false);
});